package pattern.singleton.demo3;

/**
 * @Author suzhengzhuang
 * @Email: suzhengzhuang@icloud.com
 * @Date 2024/4/17 10:41
 * @PackageName:pattern.singleton.demo3
 * @ClassName: Singleton
 * @Description: TODO 懒汉式 线程不安全
 * @Version 1.0
 */
public class Singleton {

    // 私有构造方法
    private Singleton() {
    }

    // 声明Singleton类型的变量
    private static Singleton instance; // 只是声明了该类型的变量，并没有进行赋值

    // 对方提供访问方式 synchronized同步锁解决线程不安全问题
    public static synchronized Singleton getInstance() {

        // 判断instance是否为null，如果为null说明没有被创建
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}
